package com.hzw.saas.api.storage.bo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzw.saas.common.util.constants.PatternConsts;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import springfox.documentation.annotations.ApiIgnore;

/**
 * @author zzl
 * @since 05/25/2021
 */
@Data
@Accessors(chain = true)
@ApiModel("资源存储容量")
public class StorageCapacityBO implements Serializable {

    private static final long serialVersionUID = -2983300644416904830L;

    /**
     * 云存储过期时间
     */
    @ApiModelProperty(value = "云存储过期时间", position = 10)
    @JsonFormat(pattern = PatternConsts.NORM_DATE_PATTERN)
    private Date expireTime;

    /**
     * 存储总容量, 单位: byte
     */
    @ApiModelProperty(value = "存储总容量, 单位: byte", position = 11)
    private Long totalSize;

    /**
     * 已使用总容量, 单位: byte
     */
    @ApiModelProperty(value = "已使用总容量, 单位: byte", position = 12)
    private Long usedSize;

    /**
     * 存储总容量显示，含单位
     */
    @ApiModelProperty(value = "存储总容量显示，含单位", position = 21)
    private String totalSizeText;

    /**
     * 已使用总容量显示，含单位
     */
    @ApiModelProperty(value = "已使用总容量显示，含单位", position = 22)
    private String usedSizeText;

    /**
     * 剩余总容量显示，含单位
     */
    @ApiModelProperty(value = "剩余总容量显示，含单位", position = 23)
    private String remainSizeText;

    /**
     * 各存储空间存储使用量
     */
    @ApiModelProperty(hidden = true)
    List<StorageSpaceCapacityBO> spaceCapacities = new ArrayList<>();

}
